ЛІНІЙНІ ОДНОЗВ’ЯЗНІ ТА ДВОЗВ’ЯЗНІ СПИСКИ

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2022
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування складних алгоритмів

Частина тексту файла

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ “КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО” ЗВІТ з лабораторної роботи №5 з навчальної дисципліни “Програмування складних алгоритмів” Тема: ЛІНІЙНІ ОДНОЗВ’ЯЗНІ ТА ДВОЗВ’ЯЗНІ СПИСКИ Варіант №12 Київ 2022 Мета: Метою лабораторної роботи є ознайомитися з основами роботи з двозв’язним списком, однозв’язним. Теоретична частина Зв'язаний список — це лінійна структура даних, в якій елементи не зберігаються в суміжних місцях пам'яті. Елементи зв'язаного списку зв'язуються за допомогою вказівників. Простіше кажучи, зв'язаний список складається з вузлів, де кожен вузол містить поле даних і посилання (посилання) на наступний вузол у списку. Типи зв'язаних списків Однозв'язаний список - це найпростіший тип зв'язаного списку, в якому кожен вузол містить деякі дані і покажчик на наступний вузол того ж типу даних. Вузол, який містить покажчик на наступний вузол, означає, що вузол зберігає адресу наступного вузла в послідовності. Один зв'язаний список дозволяє передавати дані лише одним способом. Двозв'язаний список - двосторонній зв'язаний список або двосторонній зв'язаний список - це більш складний тип зв'язаного списку, який містить покажчик на наступний, а також на попередній вузол у послідовності. Таким чином, він містить три частини: дані, покажчик на наступний вузол, і покажчик на попередній вузол. Це дозволило б нам переміщатися по списку і в протилежному напрямку. Завдання: 1. Створити лінійний однозв’язний список, вивести його. Якщо в списку є елемент із заданим ключем, вилучити його, а попередній та настуні поміняти місцями. Виконати завдання згідно варіанту. 2. Створити двозв’язний список, вивести його. Якщо в списку є елемент із заданим ключем, вилучити його. Виконати завдання згідно варіанту з двозвязним списком. Завдання до Варіанту_12 Задано натуральне число n, дійсні числа х(1)…х(n), (n>=2). Одержати послідовність х(1)-х(n) , x(2)-x(n),…,x(n-1)-x(n). Результати виконання лабораторної роботи:  Код: Main.cpp //Лабораторна робота №5_ПСА //ТР-15_Ткаченко_Майя, Варіант_12 #include <iostream> #include "single-list.h" #include "double-list.h" using namespace std; int main() { cout<<"\n====================>\n1. Створити лінійний однозв’язний список, вивести його. Якщо в списку є елемент із заданим ключем, вилучити його, а попередній та настуні поміняти місцями. Виконати завдання згідно варіанту.\n====================>\n"; cout<<"2. Створити двозв’язний вивести його. Якщо в списку елемент із заданим ключем, вилучити його. Виконати завдання згідно варіанту з двозвязним списком.\n====================>\n"; cout<<"Завдання до Варіанту_12\n====================>\nЗадано натуральне число n, дійсні числа х(1)…х(n), (n>=2). Одержати послідовність х(1)-х(n) , x(2)-x(n),…,x(n-1)-x(n).\n====================>\n"; int n; cout << "\t<<---Виконання завдання №1--->>>\t" << endl; cout << "========<<<Введіть значення для n (більше або дорівнює 2): "; cin >> n; List<int> Lst; cout << "========>>>Початковий список:"; for (int i = 1; i < n; ++i) { Lst.PushBack(i - n); } Lst.ListOutput(); cout << "========<<<Введіть номер для видалення (попередній і наступний номер буде поміняно місцями): "; int RemoveNumber; cin >> RemoveNumber; Lst.RemoveDataAndSwapPrevAndNextData(RemoveNumber); cout << "========>>>Список після редагування:\n"; Lst.ListOutput(); cout << "\t<<---Виконання завдання №2--->>>\t" << endl; DoubleList<int> DoubleLst; cout << "========<<<Введіть значення для n (більше або дорівнює 2): "; cin >> n; cout << "========>>>Початковий список:"; for (int i = 1; i < n; ++i) { DoubleLst.PushBack(i - n); } DoubleLst.ListOutput(); return 0; } Single-list.h #ifndef PCA_LR_5_SINGLE_LIST_H #define PCA_LR_5_SINGLE_LIST_H #include "string" #include <fstream> #include <iostream> #include <vector> using namespace std; template <type...
Антиботан аватар за замовчуванням

13.07.2023 18:07

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини